home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / p4 / p4-1_2c.lha / p4-1.2c / usc / usctest / capcell.c next >
C/C++ Source or Header  |  1993-05-24  |  2KB  |  92 lines

  1. #include <stdio.h>
  2. #include "../usc.h"
  3. #include "ccell.c7.h"
  4. #include "../alog.h"
  5.  
  6. #define SLOOP_START 1
  7. #define SLOOP_END   2
  8. #define ILOOP_START 3
  9. #define ILOOP_END   4
  10.  
  11. cell_main()
  12. {
  13.     int cellid;
  14.     
  15.     cellid = getcid();
  16.  
  17.     if (cellid == 0)
  18.     {
  19.         ALOG_MASTER(0,ALOG_TRUNCATE);
  20.     }
  21.     else
  22.     {
  23.         ALOG_SETUP(cellid,ALOG_TRUNCATE);
  24.     }
  25.  
  26.     usc_init();
  27.     printf("\nRollover Value = %lu\n", usc_rollover_val());
  28.  
  29.     printf("\n\nShort Loop Test:\n");
  30.     printf("================\n\n");
  31.     ALOG_LOG(cellid,SLOOP_START,0,"");
  32.     short_loop();
  33.     ALOG_LOG(cellid,SLOOP_END,0,"");
  34.  
  35.     printf("\n\nInfinite Loop Test (measures 5 second intervals):\n");
  36.     printf("=================================================\n");
  37.     printf("(***** Type ^C to terminate this test *****)\n\n");
  38.     ALOG_LOG(cellid,ILOOP_START,0,"");
  39.     infinite_loop();
  40.     ALOG_LOG(cellid,ILOOP_END,0,"");
  41.  
  42.     ALOG_OUTPUT;
  43. }
  44.  
  45.  
  46. short_loop()
  47. {
  48.     usc_time_t t1, t2, t3;
  49.     usc_time_t t[100];
  50.     int i;
  51.  
  52.     for (i=0; i<100; i++)
  53.         t[i] = usc_clock();
  54.     for (i=0; i<100; i++)
  55.         printf("Clock Reading %2d:  %lu\n", i+1, t[i]);
  56.  
  57.     printf("\nThree additional readings...just for the heck of it\n");
  58.     t1 = usc_clock();
  59.     t2 = usc_clock();
  60.     t3 = usc_clock();
  61.     printf("time1 = %lu,  time2 = %lu,  time3 = %lu\n", t1, t2, t3);
  62. }
  63.  
  64.  
  65. infinite_loop()
  66. {
  67.     usc_time_t t1, t2;
  68.     int i,j;
  69.  
  70.     for(j=0;j < 10; j++)
  71.     {
  72.         t1 = usc_clock();
  73. #if !defined(CAP2_CELL)
  74.  
  75.         sleep(5);
  76. #else
  77.         {
  78.         double dgettime();
  79.         double dinit;
  80.  
  81.         dinit = dgettime();
  82.         while (dgettime() < dinit + 5)
  83.             ;
  84.         }
  85. #endif
  86.  
  87.         t2 = usc_clock();
  88.         printf("Start_time = %lu    End_time = %lu\n\n", t1, t2);
  89.         printf("---> Interval = %lu microsecs <---\n\n", t2-t1);
  90.     }
  91. }
  92.